" ============================================================================================================================
"  seadog personalized syntax highlighting
" ============================================================================================================================
" highlight hl01 ctermfg=yellow guifg=yellow
" highlight hl01 ctermfg=yellow guifg=yellow
" highlight hlUnderline gui=underline cterm=underline ctermfg=None guifg=None
highlight mainTitle  ctermfg=213 guifg=#FFC0CB

highlight subTitle01 ctermfg=166 guifg=#FA8072
highlight subTitle02 ctermfg=199 guifg=#DA70D6
highlight subTitle03 ctermfg=184 guifg=#D2B48C
highlight subTitle04 ctermfg=184 guifg=#EAED30

syn match url01 "\(.*\)\@<=https\?:\/\/\S\{1,}\(\s\|$\)\@="
" hi def link url01 Underlined
hi def link url01 underline01

" syn match strongMark    "!!!.\w\+\(\s*!!!\)\?"
syn match strongMark    "!!!.\S.\+\(\s*!!!\)\?"
hi def link strongMark StrongMark

syn match   textcomment   "^#.*"      contains=strongMark
syn match   textcomment   "\s\+#.*"   contains=strongMark
hi def link textcomment   Comment

syn match mainTitle "^\s*\n^\S\+.*\n\(\s\s\+\|^$\)\@="             contains=textcomment,strongMark
syn match mainTitle "\(^\s\s.\+\)\@<=\n^\S\+.*\n\(\s\s\+\|^$\)\@=" contains=textcomment,strongMark
syn match mainTitle "\%^\S\+.*\n\(\s\s\+\|^\s*$\)\@="              contains=textcomment,strongMark
syn match mainTitle "^\s\{,3}\d\+\.\?\,\?\s.*\n\(\s\s\+\|^$\)\@="  contains=textcomment,strongMark
syn match mainTitle "^http.*"                                      contains=textcomment,strongMark
" syn region texinfoCode matchgroup=texinfoControlSequence start="^\S\+.*\_s\s\s" end="^$" contains=ALL
" syn region texinfoCode matchgroup=texinfoControlSequence start="^$" end="^$" contains=ALL transparent
" syn region block01 matchgroup=texinfoControlSequence start="^$" end="^$" contains=All transparent
hi def link mainTitle mainTitle
" hi def link mainTitle htmlh1

syn match tableStr   "|\@<=-\@!.\{-}|\@=" contained
hi def link tableStr  Constant

syn match table01   "^\s*\(|.\+\)\{2,}|\s*$"  contains=tableStr
syn match table01   "^\s*\(+\-\+\)\++\s*$"
hi def link table01 Label

" syn match subTitle01  "^\s\{2,}@\s\w\+.*" contains=strongMark

syn match subTitle01  "^\s\{2,}\*\s\S\+.*" contains=strongMark
hi def link subTitle01 subTitle01

syn match subTitle02  "^\s\{2,}\w\{1,2}\.\s\+.*" contains=strongMark
hi def link subTitle02  Float

syn match subTitle03  "^\s\{2,}\w\{1,2},\s\+.*" contains=strongMark
hi def link subTitle03 subTitle03

" syn match subTitle04  "^\s\{2,}•\s\S\+.*" contains=strongMark
syn match subTitle04  "^\s\{2,}\(•\|●\)\s\S\+.*" contains=strongMark
hi def link subTitle04 subTitle04

" !!! conceal
" syntax match Normal '\v\{\/\s.+\}' conceal
" syntax match Normal '\v(\{\/\s.+\})@<=\[' conceal
" syntax match Normal '\v(\{\/\s.+\}\[(.+))@<=\]' conceal

" !!! combine with conceal feature
" syntax match jumpLink "\v(\{\/\s.+\}\[)@<=.+(\])@="
" hi def link jumpLink CocLink

let b:current_syntax = "text"


